草庐IT

ES 脚本

全部标签

javascript - ES6 默认值在 function.arguments 中不可用?

如果我有这个ES6函数声明和调用:functionmyFunction(arg1,arg2="bob"){console.log("arguments",arguments);}myFunction(1);...console.log()语句仅显示一个值为“1”的参数。“鲍勃”无处可寻。这是预期和/或期望的行为吗?我希望默认值在arguments对象中可用。如果没有,有没有办法以其他方式动态获取所有参数+默认值?提前致谢! 最佳答案 是的,这是预期和期望的。arguments对象是传递给函数的值的列表,没有别的。它没有隐式链接到参数

javascript - 如果我使用的是 ES6 模块,还需要模块加载器吗?

不幸的是,我对JavaScript模块加载器的了解仍在增长,我正试图了解它们与新的ES6模块的关系。据我所知,使用CommonJS或RequireJS等模块加载器使用ES5兼容JavaScript确实需要使用异步模块加载器的使用,以提高性能并仅在需要时使用相应模块加载器的语法进行加载。然而看着ES6moduledocumentation阅读其他信息,在我看来,模块加载是通过import和export关键字原生支持的。如果是这种情况,我是否更正了ES6JS模块native支持异步模块加载,因此我不需要使用像CommonJS或RequireJS? 最佳答案

javascript - 在 ES6 深度嵌套的对象的 javascript 数组中查找值

在一个对象数组中,我需要找到一个value——其中key是activity:但是activitykey可以像这样深度嵌套在数组中:constactivityItems=[{name:'Sunday',items:[{name:'Gym',activity:'weights',},],},{name:'Monday',items:[{name:'Track',activity:'race',},{name:'Work',activity:'meeting',},{name:'Swim',items:[{name:'Beach',activity:'scubadiving',},{name

javascript - 在页面主体而不是 head 元素中包含脚本有哪些缺点/问题?

已经有一个entry发布关于将javascript放入的优缺点的帖子元素与关闭正文标签()之前的对比。但是我看到有时开发人员将JavaScript代码放在HTML页面的任意位置。这似乎主要是由于懒惰。在页面的任意位置嵌入JavaScript代码有什么缺点?有许多明显的缺点,例如没有缓存、较少重用等。在这方面您还能想到哪些其他缺点?提前致谢。 最佳答案 读这个:http://groups.google.com/group/closure-library-discuss/browse_thread/thread/1beecbb5d6af

javascript - 如何将时间延迟放入我的脚本中?

我想在我的脚本中延迟3秒但是我不知道该怎么做,我不知道!我的脚本:varbaslik=document.title;$(document).ready(function(){document.title='(Welcome)'+baslik;//After3secondsdocument.title='(Whatcanidoforyou?)'+baslik;//After3secondsdocument.title='(Thankuforviewingtome)'+baslik;//After3secondsdocument.title=baslik;});

javascript - 如何测量脚本执行和*解析*时间?

据我所知,脚本是在javascript中同步下载和执行的。因此,如果我们编写以下代码:console.time('core')console.timeEnd('core')我们将在控制台中看到下载、解析和执行js的总时间。我们如何排除解析时间?只需添加类似的文件,但所有代码都被注释掉。或多或少,这种技术应该可行。问题是这行不通=)我优化了该代码,将执行时间从90毫秒减少到25毫秒,但Chrome的执行时间为~100±10ms,Firefox的执行时间为~160±15ms。好吧,我知道我可以使用探查器,但问题是:“如何正确测量js解析时间”以及顺便说一下我测量了什么。Research.r

javascript - 将 Angular.js 应用于 Chrome 扩展内容脚本中的新 DOM 元素

好的,我已经研究了一段时间了。在红色框中,我想要一些Angular功能(ng-repeats、数据绑定(bind)等...)双击任何网页上的文本时会出现此红色框。但是,我似乎无法找到如何实际连接/连接到红色弹出窗口中的文本框示例的Angular。在chrome的徽章弹出窗口以及选项页面等中使用angular似乎相当微不足道......但我似乎无法在这种情况下让它工作。inject.js(作为内容脚本包含在list中,如下)vardisplayPopup=function(event){varmydiv=document.createElement('div');var$div=$('#

javascript - 是否有 32 字节或 64 字节的大小限制?用于内容脚本和 chrome 扩展的背景页面之间的消息传递?

我正在开发一个chrome扩展程序,可以从网页中提取大型公钥。我需要知道我是否会遇到在谷歌网站上找不到的与其消息传递API相关的任何限制。谢谢! 最佳答案 当您使用chrome.runtime.sendMessage时,消息被序列化,并从发送者的进程(例如包含内容脚本的选项卡)发送到扩展程序的进程(后台页面)走。IPC消息的硬限制是128MB.如果您发送任何大于此的内容,发送方的进程将被终止。现在,消息大小为128MB并不意味着您可以发送长度为134,217,728的JavaScript字符串,因为消息本身也需要一些空间来存储元数据

javascript - 如何在 ES6 中创建主导入文件?

我希望使用ES6语法创建一个主导入文件。我有一个包含index.js文件的组件目录。如果有意义的话,我想export导入。本质上,我想将各个组件文件导入然后导出到索引文件中,这样我就可以从任何其他文件中解构我的imports,如下所示:import{Comp1,Comp2}from"./components"如何使用ES6语法做到这一点? 最佳答案 你可以这样做:export*from"./components"//orexport{Comp1,Comp2}from"./components"如何准确引用components/ind

javascript - 为什么我们不能使用 ES6 箭头函数创建原型(prototype)?

首先,我创建一个ES5函数,然后创建它的原型(prototype):varPerson=function(){};Person.prototype.city=function(){return'NewYork'}我在这里没有错误。但是当我使用ES6粗箭头函数创建相同的对象时,我得到Cannotsetproperty'city'ofundefined:letPerson=()=>{};Person.prototype.city=()=>{return'NewYork'}这是为什么? 最佳答案 因为根据定义,箭头函数没有原型(proto